// 节流函数
function throttle(fn,interval){
    var enterTime = 0;// 触发时间
    var gapTime = interval || 3000;// 间隔时间,如果interval不传,则默认300ms
    return function(){
        var context = this;
        var backTime = new Date();// 第一次函数return即触发时间
        if(backTime - enterTime > gapTime){
            fn.call(context,arguments);
            enterTime = backTime;// 赋值给第一次触发时间,这样就保存了第二次触发时间
        }
    }
}

// 防抖函数
function debounce(fn,interval){
    var timer;
    var gapTime = interval || 1000;// 间隔时间,如果不传interval,则默认1000ms
    return function(){
        clearTimeout(timer);
        var context = this;
        var args = arguments;// 保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数所需要
        timer = setTimeout(function(){
            fn.call(context,args)
        },gapTime)
    }
}

export default{
    throttle,
    debounce
}